package ucla.axelia.modelo.dao;

import java.io.Serializable;
import java.util.List;
import ucla.axelia.modelo.data.DataGenerica;
import ucla.axelia.modelo.data.Turno;;

public class ServicioTurnoDAO extends ServicioGenericoDAO {

	public ServicioTurnoDAO() {
		super(Turno.class);
	}

	public Turno buscarPorClave(Serializable clave) {
		// Buscar por la clave primaria en la tabla
		DataGenerica data = super.buscarPorClave(clave);
		return (data != null)? (Turno)data: null;
	}

	public List buscarPorEjemplo(Turno turno, String estado) {
		// Buscar todos los datos que se asemejan al objeto (parecido a un LIKE)
		return super.buscarPorEjemplo(turno, estado);
	}

	public List buscarPorEjemplo(Turno turno, String estado, int primero, int cantidad) {
		return super.buscarPorEjemplo(turno, estado, primero, cantidad);
	}

	public List buscarPorEjemplo(Turno turno, String estado, List orden) {
		return super.buscarPorEjemplo(turno, estado, orden);
	}

	public List buscarPorEjemplo(Turno turno, String estado, int primero, int cantidad, List orden) {
		return super.buscarPorEjemplo(turno, estado, primero, cantidad, orden);
	}

	public void eliminarFisicamente(Turno turno) {
		super.eliminarFisicamente(turno);
	}

	public void eliminarLogicamente(Turno turno, boolean eliminacionCascada) {
		// Hacer en eliminacion en cascada pasando TRUE
		super.eliminarLogicamente(turno, eliminacionCascada);
	}

	public void guardar(Turno turno) {
		
		super.guardar(turno);
	}

	public void restaurar(Turno turno, boolean restauracionCascada) {
		// Activar un objeto eliminado logicamente
		super.restaurar(turno, restauracionCascada);
	}

}

